package com.fary.web.method.support;

import com.fary.core.MethodParameter;
import com.fary.web.bind.support.WebDataBinderFactory;
import com.fary.web.context.request.NativeWebRequest;
import jdk.internal.jline.internal.Nullable;

public interface HandlerMethodArgumentResolver {

	/**
	 * 此解析器是否支持给定的方法参数。
	 */
	boolean supportsParameter(MethodParameter parameter);

	/**
	 * 将方法参数解析为给定请求的参数值。
	 */
	Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
						   NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception;

}